﻿Imports UTNComputers.validaciones

Public Class altaCatalogo

    Private Sub altaCatalogo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LimpiarFormulario()

        'programar para cada txtbox la ayuda al ingreso
    End Sub

    Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Close()
    End Sub

    Private Sub btnAlta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAltaSalir.Click
        If Guardar() Then
            Me.Close()
        End If
    End Sub

    Private Function LimpiarFormulario() As Boolean
        txtCant.Text = "0"
        txtCosto.Text = "0"
        txtMarca.Text = ""
        txtMod.Text = ""
        txtNom.Text = ""
        txtProv.Text = ""
        txtTipo.Text = ""

        Return True
    End Function
    Private Function Guardar() As Boolean
        Dim Producto As New clsCatalogo()
        Dim Dao_Producto As New daoCatalogo()
        Dim Dao_Numerador As New daoNumerador()
        Dim Conf As New clsConfiguraciones()

        Dim dao_Conf As New daoConfiguraciones()
        Conf = dao_Conf.TraeConfiguraciones()
        dao_Conf.Dispose()

        Try

            If txtNom.Text.Trim.Length = 0 Then
                MessageBox.Show("Debe ingresar el nombre del producto", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return False
            End If

            If txtMarca.Text.Trim.Length = 0 Then
                MessageBox.Show("Debe ingresar la marca del producto", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return False
            End If

            If txtMod.Text.Trim.Length = 0 Then
                MessageBox.Show("Debe ingresar el modelo del producto", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return False
            End If

            If txtTipo.Text.Trim.Length = 0 Then
                MessageBox.Show("Debe ingresar el Tipo del producto", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return False
            End If

            '' Busco el articulo por Nombre Marca Modelo
            If Dao_Producto.ConsultaExistenciProducto(txtNom.Text.Trim.ToUpper, txtMarca.Text.Trim.ToUpper, txtMod.Text.Trim.ToUpper) Then
                MessageBox.Show("Ya existe un Artículo con Nombre: " & txtNom.Text.Trim.ToUpper & vbNewLine & _
                                "Marca: " & txtMarca.Text.Trim.ToUpper & vbNewLine & _
                                "Modelo: " & txtMod.Text.Trim.ToUpper, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return False
            End If

            Producto.Descripcion = txtNom.Text.Trim.ToUpper
            Producto.Marca = txtMarca.Text.Trim.ToUpper
            Producto.Modelo = txtMod.Text.Trim.ToUpper
            Producto.Tipo = txtTipo.Text.Trim.ToUpper

            Producto.Cantidad = Convert.ToInt32(txtCant.Text.Trim)
            Producto.Costo = Convert.ToDecimal(txtCosto.Text.Trim)

            Producto.Proveedor = txtProv.Text.Trim.ToUpper
            Producto.Fecha_Ingreso = Now.Date
            Producto.Cod_Suc = Conf.Cod_Suc
            Producto.Prod_Id = Dao_Numerador.TraeProximo("CATALOGO")

            If Dao_Producto.Alta(Producto) Then
                MessageBox.Show("El Artículo se a guardado Correctamente con el Codigo " & Convert.ToString(Producto.Prod_Id).Trim.ToUpper, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return True
            Else
                MessageBox.Show("No se a guardao el articulo. Comunicar a Sistemas", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Return False
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return False
        End Try
        'Empiezo a asignar los datos al producto

        Return True
    End Function

    Private Sub btnSalir_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Close()
    End Sub

    Private Sub btnAltaNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAltaNuevo.Click
        If Guardar() Then
            LimpiarFormulario()
        End If
    End Sub

    Private Sub txtCant_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCant.KeyPress
        validarInt(e)
    End Sub

    Private Sub txtCosto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCosto.KeyPress
        validarDouble(e)
    End Sub

End Class